package com.iutr.shared.model;

import lombok.Data;

/**
 * 基本接口响应模型
 *
 * @author lss
 * @date 2020/8/21, 周五
 */
@Data
public class Result<T> {

    /**
     * 是否响应成功
     */
    private boolean success = false;

    /**
     * 错误信息
     */
    private String message;

    /**
     * 错误码
     */
    private int code;

    /**
     * data
     */
    private T data;

    /**
     * 通过{@link ResultStatus}设置错误信息和错误码
     *
     * @param status 错误状态枚举
     */
    public void setStatus(ResultStatus status) {
        message = status.getMessage();
        code = status.getCode();
    }

    public void copyError(Result<?> errorResult) {
        this.success = false;
        this.code = errorResult.code;
        this.message = errorResult.message;
    }
}
